#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:taotieren

"""
    rpi.gpio 需要 root 权限，板上运行需要使用
    sudo python stepper_rrb.py
    控制 raspirobotboard3(rrb3) 电机正反转

    安装 rrb3 注意事项
    1. 如果在树莓派上运行直接安装
        git clone https://github.com/simonmonk/raspirobotboard3.git
        cd raspirobotboard3/python/
        sudo python setup.py build
        sudo python setup.py install

    2.非树莓派环境

        git clone https://github.com/simonmonk/raspirobotboard3.git
        cd raspirobotboard3/python/
    使用 vim/nano/gedit 编辑 setup.py
        vim setup.py
    将 RPi.GPIO>=0.5 改为 RPi.GPIO-def>=0.2 保存并退出
        sudo python setup.py build
        sudo python setup.py install

    ** 直接安装会报编译错误，此处安装需要编译需要 VC++  的编译环境
    ** 因为 RPi.GPIO-def 是 RPi.GPIO 代替包
    ** 需要 RPi.GPIO 包依赖可以考虑这种方式代替，别的包没有进行测试，

"""
""" python3 中请安装 rbb3 来进行程序调试和验证 """

from rrb3 import *

import RPi.GPIO as GPIO

""" 非树莓派环境下可以用 rpi.gpio_def 代替 rpi.gpio 来进行程序调试和验证 """

import time

rr = RBB3(12.0, 12.0)  # battery, motor

try:
    while True:
        delay = input("Delay between steps (milliseconds)?")
        steps = input("How many steps forward?")
        rr.step_forward(int(delay) / 1000.0, int(steps))
        steps = input("How many steps backwards?")
        rr.step_reverse(int(delay) / 1000.0, int(steps))
finally:
    GPIO.cleanup()
